import axios from 'axios'

// 连接超时时间
axios.defaults.timeout = 1000*30;

const ajax = axios.create({})
// 设置 Post 请求头
ajax.defaults.headers.post["Content-Type"] =
  "application/x-www-form-urlencoded";
/**
 * 请求拦截器
 * 每次请求前，如果存在token则在请求头中携带token
 */
ajax.interceptors.request.use(config => {
  // 登录流程控制中，根据本地是否存在token判断用户的登录情况
  // token && (config.headers.Authorization = token)
  return config;
});

/**
 * 响应拦截器
 */
ajax.interceptors.response.use(
  // 请求成功
  response => {
    if (response.status === 200) {
      const code = response.data.code;
      if (code !== 0) {
        return Promise.reject(response);
      } else {
        const data = response.data;
        return data;
      }
    } else {
      return Promise.reject(response);
    }
  },
  // 请求失败
  error => {
    const { response } = error;
    if (response) {
      // 请求已经发出， 但是不在 2xx 的范围
      return Promise.reject(response);
    } else {
      // 处理断网情况
      // store.commit('changeNetwork', false)
    }
  }
);

export default ajax;

